package qldc.pm.tienan.service;

import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.transaction.Isolation;
import com.liferay.portal.kernel.transaction.Propagation;
import com.liferay.portal.kernel.transaction.Transactional;
import com.liferay.portal.service.BaseLocalService;
import com.liferay.portal.service.InvokableLocalService;
import com.liferay.portal.service.PersistedModelLocalService;

/**
 * Provides the local service interface for BienBanBanGiaoHoSo. Methods of this
 * service will not have security checks based on the propagated JAAS
 * credentials because this service can only be accessed from within the same
 * VM.
 *
 * @author Brian Wing Shun Chan
 * @see BienBanBanGiaoHoSoLocalServiceUtil
 * @see qldc.pm.tienan.service.base.BienBanBanGiaoHoSoLocalServiceBaseImpl
 * @see qldc.pm.tienan.service.impl.BienBanBanGiaoHoSoLocalServiceImpl
 * @generated
 */
@Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
    PortalException.class, SystemException.class}
)
public interface BienBanBanGiaoHoSoLocalService extends BaseLocalService,
    InvokableLocalService, PersistedModelLocalService {
    /*
     * NOTE FOR DEVELOPERS:
     *
     * Never modify or reference this interface directly. Always use {@link BienBanBanGiaoHoSoLocalServiceUtil} to access the bien ban ban giao ho so local service. Add custom service methods to {@link qldc.pm.tienan.service.impl.BienBanBanGiaoHoSoLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
     */

    /**
    * Adds the bien ban ban giao ho so to the database. Also notifies the appropriate model listeners.
    *
    * @param bienBanBanGiaoHoSo the bien ban ban giao ho so
    * @return the bien ban ban giao ho so that was added
    * @throws SystemException if a system exception occurred
    */
    public qldc.pm.tienan.model.BienBanBanGiaoHoSo addBienBanBanGiaoHoSo(
        qldc.pm.tienan.model.BienBanBanGiaoHoSo bienBanBanGiaoHoSo)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Creates a new bien ban ban giao ho so with the primary key. Does not add the bien ban ban giao ho so to the database.
    *
    * @param bienBanBanGiaoHoSoId the primary key for the new bien ban ban giao ho so
    * @return the new bien ban ban giao ho so
    */
    public qldc.pm.tienan.model.BienBanBanGiaoHoSo createBienBanBanGiaoHoSo(
        long bienBanBanGiaoHoSoId);

    /**
    * Deletes the bien ban ban giao ho so with the primary key from the database. Also notifies the appropriate model listeners.
    *
    * @param bienBanBanGiaoHoSoId the primary key of the bien ban ban giao ho so
    * @return the bien ban ban giao ho so that was removed
    * @throws PortalException if a bien ban ban giao ho so with the primary key could not be found
    * @throws SystemException if a system exception occurred
    */
    public qldc.pm.tienan.model.BienBanBanGiaoHoSo deleteBienBanBanGiaoHoSo(
        long bienBanBanGiaoHoSoId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    /**
    * Deletes the bien ban ban giao ho so from the database. Also notifies the appropriate model listeners.
    *
    * @param bienBanBanGiaoHoSo the bien ban ban giao ho so
    * @return the bien ban ban giao ho so that was removed
    * @throws SystemException if a system exception occurred
    */
    public qldc.pm.tienan.model.BienBanBanGiaoHoSo deleteBienBanBanGiaoHoSo(
        qldc.pm.tienan.model.BienBanBanGiaoHoSo bienBanBanGiaoHoSo)
        throws com.liferay.portal.kernel.exception.SystemException;

    public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();

    /**
    * Performs a dynamic query on the database and returns the matching rows.
    *
    * @param dynamicQuery the dynamic query
    * @return the matching rows
    * @throws SystemException if a system exception occurred
    */
    @SuppressWarnings("rawtypes")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Performs a dynamic query on the database and returns a range of the matching rows.
    *
    * <p>
    * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link qldc.pm.tienan.model.impl.BienBanBanGiaoHoSoModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
    * </p>
    *
    * @param dynamicQuery the dynamic query
    * @param start the lower bound of the range of model instances
    * @param end the upper bound of the range of model instances (not inclusive)
    * @return the range of matching rows
    * @throws SystemException if a system exception occurred
    */
    @SuppressWarnings("rawtypes")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end) throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Performs a dynamic query on the database and returns an ordered range of the matching rows.
    *
    * <p>
    * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link qldc.pm.tienan.model.impl.BienBanBanGiaoHoSoModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
    * </p>
    *
    * @param dynamicQuery the dynamic query
    * @param start the lower bound of the range of model instances
    * @param end the upper bound of the range of model instances (not inclusive)
    * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
    * @return the ordered range of matching rows
    * @throws SystemException if a system exception occurred
    */
    @SuppressWarnings("rawtypes")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end,
        com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the number of rows that match the dynamic query.
    *
    * @param dynamicQuery the dynamic query
    * @return the number of rows that match the dynamic query
    * @throws SystemException if a system exception occurred
    */
    public long dynamicQueryCount(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the number of rows that match the dynamic query.
    *
    * @param dynamicQuery the dynamic query
    * @param projection the projection to apply to the query
    * @return the number of rows that match the dynamic query
    * @throws SystemException if a system exception occurred
    */
    public long dynamicQueryCount(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
        com.liferay.portal.kernel.dao.orm.Projection projection)
        throws com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public qldc.pm.tienan.model.BienBanBanGiaoHoSo fetchBienBanBanGiaoHoSo(
        long bienBanBanGiaoHoSoId)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the bien ban ban giao ho so with the primary key.
    *
    * @param bienBanBanGiaoHoSoId the primary key of the bien ban ban giao ho so
    * @return the bien ban ban giao ho so
    * @throws PortalException if a bien ban ban giao ho so with the primary key could not be found
    * @throws SystemException if a system exception occurred
    */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public qldc.pm.tienan.model.BienBanBanGiaoHoSo getBienBanBanGiaoHoSo(
        long bienBanBanGiaoHoSoId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Override
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public com.liferay.portal.model.PersistedModel getPersistedModel(
        java.io.Serializable primaryKeyObj)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns a range of all the bien ban ban giao ho sos.
    *
    * <p>
    * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link qldc.pm.tienan.model.impl.BienBanBanGiaoHoSoModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
    * </p>
    *
    * @param start the lower bound of the range of bien ban ban giao ho sos
    * @param end the upper bound of the range of bien ban ban giao ho sos (not inclusive)
    * @return the range of bien ban ban giao ho sos
    * @throws SystemException if a system exception occurred
    */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<qldc.pm.tienan.model.BienBanBanGiaoHoSo> getBienBanBanGiaoHoSos(
        int start, int end)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the number of bien ban ban giao ho sos.
    *
    * @return the number of bien ban ban giao ho sos
    * @throws SystemException if a system exception occurred
    */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int getBienBanBanGiaoHoSosCount()
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Updates the bien ban ban giao ho so in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
    *
    * @param bienBanBanGiaoHoSo the bien ban ban giao ho so
    * @return the bien ban ban giao ho so that was updated
    * @throws SystemException if a system exception occurred
    */
    public qldc.pm.tienan.model.BienBanBanGiaoHoSo updateBienBanBanGiaoHoSo(
        qldc.pm.tienan.model.BienBanBanGiaoHoSo bienBanBanGiaoHoSo)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the Spring bean ID for this bean.
    *
    * @return the Spring bean ID for this bean
    */
    public java.lang.String getBeanIdentifier();

    /**
    * Sets the Spring bean ID for this bean.
    *
    * @param beanIdentifier the Spring bean ID for this bean
    */
    public void setBeanIdentifier(java.lang.String beanIdentifier);

    @Override
    public java.lang.Object invokeMethod(java.lang.String name,
        java.lang.String[] parameterTypes, java.lang.Object[] arguments)
        throws java.lang.Throwable;

    public qldc.pm.tienan.model.BienBanBanGiaoHoSo findBienBanBanGiaoHoSoId(
        long bienBanBanGiaoHoSoId);

    public qldc.pm.tienan.model.BienBanBanGiaoHoSo addBienBan(
        java.lang.String kinhGui, java.lang.String nguoiLap,
        java.lang.String nguoiDuocBanGiao, java.lang.String chucVu,
        java.lang.String chucVuNguoiDuocBanGiao, java.lang.String noiDung,
        java.util.Date ngayLap, java.util.Date ngayBanGiao,
        java.lang.String diaDiemBanGiao,
        java.util.List<qldc.pm.tienan.dto.CongViecBanGiaoDTO> congViecs)
        throws com.liferay.portal.kernel.exception.SystemException;

    public qldc.pm.tienan.model.BienBanBanGiaoHoSo updateBienBan(
        long bienBanBanGiaoId, java.lang.String kinhGui,
        java.lang.String nguoiLap, java.lang.String nguoiDuocBanGiao,
        java.lang.String chucVu, java.lang.String chucVuNguoiDuocBanGiao,
        java.lang.String noiDung, java.util.Date ngayLap,
        java.util.Date ngayBanGiao, java.lang.String diaDiemBanGiao,
        java.util.List<qldc.pm.tienan.dto.CongViecBanGiaoDTO> congViecs)
        throws com.liferay.portal.kernel.exception.SystemException;

    public java.util.List<qldc.pm.tienan.model.BienBanBanGiaoHoSo> findByNguoiDuocBanGiao_ChucVu(
        java.lang.String nguoiDuocBanGiao,
        java.lang.String chucVuNguoiDuocBanGiao, int start, int end,
        com.liferay.portal.kernel.util.OrderByComparator order);

    public int countByNguoiDuocBanGiao_ChucVu(
        java.lang.String nguoiDuocBanGiao,
        java.lang.String chucVuNguoiDuocBanGiao);
}
